﻿using System;
using System.Collections.Generic;

namespace SubSonic
{
    interface ISqlGenerator
    {
        string GenerateCommandLine();
        string GenerateConstraints();
        string GenerateFromList();
        string GenerateOrderBy();
        string GenerateGroupBy();
        string GenerateJoins();
        string GetPagingSqlWrapper();
        List<string> GetSelectColumns();
        TableSchema.TableColumn FindColumn(string columnName);
        string BuildSelectStatement();
        string BuildPagedSelectStatement();
        string BuildUpdateStatement();
        string BuildInsertStatement();
        string BuildDeleteStatement();
        void SetInsertQuery(Insert q);
    }
}
